Page({
  data: {
    id: '',
    name: '',
    isbn: '',
    isEdit: false
  },

  onLoad(options) {
    if (options.id) {
      this.setData({ 
        id: options.id,
        isEdit: true
      });
      this.loadBookDetail(options.id);
    }
  },

  async loadBookDetail(id) {
    try {
      const cloud = getApp().globalData.cloud;
      const db = cloud.database();
      const { data } = await db.collection('books').doc(id).get();
      
      this.setData({
        name: data.name,
        isbn: data.isbn
      });
    } catch (err) {
      console.error('加载书籍详情失败：', err);
      wx.showToast({
        title: '加载失败',
        icon: 'error'
      });
    }
  },

  onNameInput(e) {
    this.setData({ name: e.detail.value });
  },

  onIsbnInput(e) {
    this.setData({ isbn: e.detail.value });
  },

  async handleSubmit() {
    const { id, name, isbn, isEdit } = this.data;

    if (!name || !isbn) {
      wx.showToast({
        title: '请填写完整信息',
        icon: 'none'
      });
      return;
    }

    try {
      const cloud = getApp().globalData.cloud;
      const db = cloud.database();

      wx.showLoading({ title: isEdit ? '保存中...' : '添加中...' });

      if (isEdit) {
        await db.collection('books').doc(id).update({
          data: { name, isbn }
        });
      } else {
        await db.collection('books').add({
          data: { name, isbn }
        });
      }

      wx.showToast({
        title: isEdit ? '保存成功' : '添加成功',
        icon: 'success'
      });

      // 返回上一页
      setTimeout(() => {
        wx.navigateBack();
      }, 1500);

    } catch (err) {
      console.error(isEdit ? '保存失败：' : '添加失败：', err);
      wx.showToast({
        title: isEdit ? '保存失败' : '添加失败',
        icon: 'error'
      });
    } finally {
      wx.hideLoading();
    }
  }
}); 